<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
</body>
<script>

    // for in
//     let obj = {
//     name: '张三',
//     age: '24',
//     address:'北京市'
// }
// for (let key in obj) {
//     console.log(key, ':', obj[key])
// }


// Object.keys()
// let obj = {
//     name: '张三',
//     age: '24',
//     address:'北京市'
// }
// console.log(Object.keys(obj));//返回的是数组
// Object.keys(obj).forEach((key) => {
//     console.log(key,'+', obj[key])
// })

// let obj = {
//     name: '张三',
//     age: '24',
//     address:'北京市'
// }
// // 返回一个数组，成员是参数对象自身的（不含继承的）所有可遍历（enumerable）属性的键名。
// console.log(Object.keys(obj))
// // bject.values方法返回一个数组，成员是参数对象自身的（不含继承的）所有可遍历（enumerable）属性的键值。
// console.log(Object.values(obj))


let obj = {
    name: '张三',
    age: '24',
    address:'北京市'
}
Object.getOwnPropertyNames(obj).forEach((key) => {
    console.log(key,obj[key])
})

// es6常用数组方法  some foreach  map filter  reduce

// 新增数组方法：
// 1、from()，可将类数组或可迭代对象转为真正的数组；2、of()，可将一组值转换为数组，它弥补数组构造函数Array()的不足；3、find()和findIndex()，返回第一个符合条件的数组元素；4、fill()等等。
// fill()方法使用给定值， 填充一个数组
// fill 方法还可以接受第二个和第三个参数，用于指定填充的起始位置和结束位置
let arr = new Array(2).fill(1)
console.log(arr);
let arr1 = ['a','b','c']
 arr1.fill(9,2,3)  //第一个参数，填充的数据，
console.log(arr1);




</script>
</html>